package com.notifier.filter;

import com.notifier.enums.SysProfilesActiveEnum;
import com.notifier.event.ErrorEvent;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * 环境过滤器
 * 职责：本地环境不发送通知
 *
 * @author Amadeus
 * @date 2025/10/14
 */
@Slf4j
@Component
public class EnvironmentFilter implements IErrorFilter {

    @Value("${spring.profiles.active}")
    private String activeProfile;

    @Override
    public boolean shouldFilter(ErrorEvent event) {
        // 本地环境过滤
        if (SysProfilesActiveEnum.NATIVE.name().equals(activeProfile)) {
            log.debug("本地环境，不发送错误通知");
            return false;
        }
        return true;
    }

    @Override
    public int getOrder() {
        return 1;  // 最高优先级，先检查环境
    }

    @Override
    public String getName() {
        return "EnvironmentFilter";
    }
}

